package cn.iocoder.an.module.business.controller.admin.reportviewnew.vo;

import cn.iocoder.an.module.business.dal.dataobject.reportviewnew.ReportConfigDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 消息推送配置新增/修改 Request VO")
@Data
public class ReportViewNewSaveReqVO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27026")
    private Long id;

    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "名称不能为空")
    private String name;

    @Schema(description = "链接", example = "https://www.iocoder.cn")
    private String url;

    @Schema(description = "父id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31441")
    @NotNull(message = "父id不能为空")
    private Long parentId;

    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "显示顺序不能为空")
    private Integer sort;

    @Schema(description = "副标题")
    private String title;

    @Schema(description = "图标")
    private String icon;

    @Schema(description = "背景颜色")
    private String color;

    @Schema(description = "报表消息推送配置列表")
    private List<ReportConfigDO> reportConfigs;

}